---
id: jwtsettings
title: 9. JWT 配置
sidebar_label: 9. JWT 配置
---

## 9.1 关于配置

`JWT` 配置指的是生成 `JWT` token 配置。

## 9.2 配置信息

- `JWTSettings`：根节点
  - `ValidateIssuerSigningKey`：是否验证密钥，`bool` 类型，默认 `true`
  - `IssuerSigningKey`：密钥，`string` 类型，必须是复杂密钥，长度大于 `16`
  - `ValidateIssuer`：是否验证签发方，`bool` 类型，默认 `true`
  - `ValidIssuer`：签发方，`string` 类型
  - `ValidateAudience`：是否验证签收方，`bool` 类型，默认 `true`
  - `ValidAudience`：签收方，`string` 类型
  - `ValidateLifetim`：是否验证过期时间，`bool` 类型，默认 `true`，建议 `true`
  - `ExpiredTime`：过期时间，`long` 类型，单位分钟，默认 `20` 分钟
  - `ClockSkew`：过期时间容错值，`long` 类型，单位秒，默认 `5` 秒
  - `Algorithm`：加密算法，`string` 类型，默认 `SecurityAlgorithms.HmacSha256`

:::important 温馨提示

目前支持的`加密算法`，详情请查阅[SecurityAlgorithms](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/dev/src/Microsoft.IdentityModel.Tokens/SecurityAlgorithms.cs)

:::

## 9.3 配置示例

```json {4,6,8}
{
  "JWTSettings": {
    "ValidateIssuerSigningKey": true, // 是否验证密钥，bool 类型，默认true
    "IssuerSigningKey": "你的密钥", // 密钥，string 类型，必须是复杂密钥，长度大于16
    "ValidateIssuer": true, // 是否验证签发方，bool 类型，默认true
    "ValidIssuer": "签发方", // 签发方，string 类型
    "ValidateAudience": true, // 是否验证签收方，bool 类型，默认true
    "ValidAudience": "签收方", // 签收方，string 类型
    "ValidateLifetime": true, // 是否验证过期时间，bool 类型，默认true，建议true
    "ExpiredTime": 20, // 过期时间，long 类型，单位分钟，默认20分钟
    "ClockSkew": 5, // 过期时间容错值，long 类型，单位秒，默认 5秒
    "Algorithm": "HS256" // 加密算法，string 类型，默认 SecurityAlgorithms.HmacSha256
  }
}
```
